home *** CD-ROM | disk | FTP | other *** search
/ SPACE 1 / SPACE - Library 1 - Volume 1.iso / utilitys / 231 / memfil13 / memfil13.doc < prev    next >
Text File  |  1988-05-08  |  16KB  |  275 lines

  1. 2/29/88
  2.  
  3.                               MemFile 1.3 by Dan Wilga
  4.  
  5.           This program and its resource file are public domain. They may be
  6.           freely distributed on the conditions that a copy of this DOC file
  7.           is included and no payment of any type (including "copying" fees)
  8.           is incurred upon the recipient of the program. No warranty is made
  9.           as to the compatibility of this program and the author cannot be
  10.           considered responsible for any loss of data which results from the
  11.           use of this program. Use it at your own risk!
  12.         
  13.  
  14.  
  15. | Revisions to Version 1.2:
  16. |
  17. |         []  Several bugs in the Search feature have been fixed; previously,
  18. |             searching for a string in hexadecimal rarely worked, stopping the
  19. |             search and re-starting it when checking a file caused the
  20. |             remainder of the file to be ignored, and moving the slider to
  21. |             any position other than the start resulted in a string not being
  22. |             found. Suffice to say, it was pretty messed-up.
  23. |         []  Occasionally, when holding down the mouse button while the
  24. |             pointer rested on the grey area of the slider, the display would
  25. |             jump back and forth between two locations. This no longer
  26. |             happens.
  27. |         []  When the window is closed in the Sector Editor mode and then
  28. |             re-opened, the current sector is re-read into the buffer because
  29. |             it may have changed since the window was last open. Actually,
  30. |             the boot sector should probably be re-read too, since the user
  31. |             might have switched floppies, but maybe next version.
  32. |         []  This document was updated slightly. Changes are denoted by a "|"
  33. |             in the first column.
  34.  
  35.   Revisions to Version 1.1:
  36.   
  37.           []  A "Search" button has been added to define a case-sensitive ASCII
  38.               or Hexadecimal string to be search for within memory, a file, or
  39.               the medium of a disk.
  40.           []  This file has been updated with any changes denoted by a " " in
  41.               the first column.
  42.  
  43.  
  44.   Overview:
  45.  
  46.           MemFile is a desk accessory (DA) program that allows the user to view
  47.   and edit any portion of his ST's memory, a file on any disk drive or the
  48.   individual sectors of any drive. Because it is a desk accessory, it has the
  49.   added advantage that it is available from any GEM application, so you can
  50.   easily call it up if, say for instance, you are debugging a program and you
  51.   want to make sure that it has written a file correctly without having to leave
  52.   the program you are working on. It is also a moveable window which means that
  53.   you can reposition it to another location on the screen or even click on
  54.   another open window.
  55.           The current MemFile package includes the following files:
  56.           
  57. |              MEMFIL13.DOC -- You're reading it
  58. |              MEMFIL13.ACC -- The program
  59. |              MEMFIL13.RSC -- The program's resource file
  60.  
  61.  
  62.   Installation:
  63.  
  64.          MemFile is installed just like any other DA; place the files
  65. | MEMFIL13.ACC and MEMFIL13.RSC in the root directory of the disk drive you
  66.   normally boot from and hit the reset button on the back of your machine.
  67.  
  68.  
  69.   General Use:
  70.  
  71.           When you select the "MemFile!" item from the desktop's menu bar, a
  72.   window appears. When you use MemFile for the first time after booting, the
  73.   program displays the contents of your machine's memory starting at the bottom
  74.   of memory (address 0). At this time you can click on either of the two buttons
  75.   on the right side of the dialog to toggle between hexadecimal or decimal
  76.   addresses. You can also click on either of the other two buttons labeled
  77.   "File" and "Sector" to switch the display to those functions.
  78.           Which ones of the other buttons are valid depends upon the mode you
  79.   are in: if you are in Memory, you can click on either the editible address in
  80.   hex or decimal, but you cannot click on any of the buttons underneath these
  81.   two without switching modes.
  82.           You can edit the information contained in the display by clicking on
  83.   either the two-digit bytes in the second column or their ASCII representation
  84.   in the third column of the display. A cursor will appear, which can be moved
  85.   with the arrow keys. When you are editing the bytes, only the 0-9, a-f
  86.   (or A-F) keys will have any effect. You can type any key, including control
  87.   characters, when editing the ASCII values. When you are done editing, hit the
  88.   Return key. A dialog asking if you want to rewrite the information will
  89.   appear. Click on "Yes" only if you are certain that the changes you have made
  90.   are correct, otherwise you may damage system memory, forcing you to re-boot
  91.   or, worse, damage important information on a disk.
  92.           Normally, the ASCII column of the display contains all the individual
  93.   characters that make up the area being viewed. The one exception to this is
  94.   the NUL character (0x00) which cannot normally be displayed. MemFile shows
  95.   a decimal point (".") in any location where a NUL should be. Please be aware
  96.   that if you attempt to edit the ASCII column, there is no way of actually
  97.   entering a true NUL character; do NOT enter a decimal point! If you want to
  98.   change a byte to a NUL, change its value in the Hex column to zero instead.
  99.  
  100.  
  101.   The Search Feature:
  102.   
  103.           The "Search" button calls-up a dialog which allows you to search for
  104.   a string of characters within the area that is currently being displayed.
  105.   Click on either the ASCII or the Hex box, depending upon how you want to
  106.   enter the string. After you have clicked on one or the other the cursor
  107.   will appear on the field you selected, allowing you to edit the information
  108.   there. The ASCII field may contain any key that can be typed on the keyboard.
  109.   The Hex field, however, must only contain the digits 0-9 and A-F (or
  110.   lowercase a-f).
  111.           When you have finished editing the field you chose, click on the
  112.   "Done!" button at the bottom of the dialog. The search will then begin. You
  113.   should see the scroll bar move as the search progresses though, in the case
  114.   of a Memory search, the bar may not move very often.
  115.           If the string of characters is found the display will be redrawn at
  116.   the location where the string is and the location of the start of the string
  117.   will be written in the information line at the top of the window. If the
  118.   string is not found a message is displayed in the information line and the
  119.   display is returned to its previous location.
  120.           You can stop the search at any time by pressing both of the
  121.   keyboard's Shift keys simultaneously. The last location checked in the
  122.   search will be displayed.
  123.           If you want to look for the next occurence of the same string or if
  124.   you want to resume a search that was stopped, merely press the Search button
  125.   a second time. When the dialog appears, click on the "Done!" button and the
  126.   search will proceed. If no other button has been selected since Search was
  127.   invoked the first time, the search will continue from the point where it left
  128.   off. If, however, any button (including the scroll bar) has been selected
  129.   since the initial search, the new search will begin from the lowest address
  130.   on the current display. This means that the same string will be found a
  131.   second time (assuming the previous search was not stopped). To find the
  132.   next occurence, you must then activate the Search feature one more time.
  133.           When entering a string in ASCII, there is no way to include the
  134.   NUL character (ASCII zero). The only way to enter this character is by using
  135.   the Hex field and entering "00" for one of the bytes. Please also note that
  136.   when you select Search a second time after having entered a NUL, the ASCII
  137.   string will be truncated wherever the NUL appeared. The Hex representation
  138.   will remain intact.
  139.  
  140.  
  141.   The Memory Editor:
  142.  
  143.           The memory editor can display and edit any address from zero to the
  144.   highest available location as specified by the system variable "phystop".
  145.   This location is normally just below the maximum address that can be accessed,
  146.   and depends upon how much RAM your machine has. The only time it is not just
  147.   below the top is when you have installed programs such as "reset-proof"
  148.   ramdisks which change the value of phystop. MemFile can display any address
  149.   up to 0x3FFFFE, however, you will not be able to alter any memory location
  150.   greater than the RAM capacity of your machine (normally address 0xFFFFF on a
  151.   1040ST). For this reason, whenever an address between phystop and 0x3FFFFE
  152.   is displayed, a warning message appears at the top of the window.
  153.           You can select either of the editible address fields and enter a new
  154.   value. Addresses in decimal contain only the digits 0-9 and addresses in
  155.   hexadecimal contain 0-9 and A-F (or a-f). Pressing Return causes the display
  156.   to be redrawn, starting at the new location. If the location you gave was
  157.   higher than the highest location available, the address will be moved to the
  158.   highest location.
  159.           If you want to edit a memory location in ROM, you cannot do so by
  160.   using the scroll bar because the entire area from 0x400000 to 0xF90000 is
  161.   inaccessible. Instead, you must begin by using either of the editable
  162.   address fields to enter an address from 0xFA0000 to 0xFEFFFF. The scroll bar
  163.   will then assume that the "lowest" address is actually 0xFA0000. Enter any
  164.   RAM address to switch back to that area.
  165.           In this mode, you can click on the scroll bar to the right of the
  166.   display to move up or down in 128 byte intervals. Clicking on the arrow
  167.   buttons move the address up or down 16 bytes at a time. You can also drag the
  168.   slider to a new position. Unlike the scroll bars found on Atari's desktop, you
  169.   can select any portion of this scroll bar and hold the left mouse button down
  170.   to repeat the function continuously.
  171.  
  172.  
  173.   The File Editor:
  174.  
  175.           Whenever you select this option, the standard Atari file selector
  176.   appears. You can then select any existing file to edit.
  177.           After you have selected a file, the display will show the contents of
  178.   the file from its beginning. You can move to any location within the file
  179.   using the scroll bar and edit by clicking on the appropriate location in the
  180.   display.
  181.           You can select the editible filename field if you want to switch to
  182.   another file contained in the same directory as the previous one. This is
  183.   sometimes easier than calling up the selector, which can be done by clicking
  184.   on the "Selector..." button. If the new file is not found or it cannot be
  185.   opened for both read and write, the program will try to re-open the previous
  186.   file. If this fails, the file selector will appear once again. This time, if
  187.   the file you select is not available, you will be returned to the Memory
  188.   editor.
  189.           If you close the MemFile window or leave the GEM program you are
  190.   currently in with the window open, the file will also be closed. However, the
  191.   next time you select MemFile from the menu bar it will try to re-open the file
  192.   you were working on last. If this is file is on a floppy, you should make
  193.   sure the same floppy is still in the appropriate drive. Please note that
  194.   this also means that the system considers a file to be open as long as you
  195.   are in the File mode. If you want to be able to access the file from any
  196.   other application, you must either leave the File option or close the MemFile
  197.   window first.
  198.           Because MemFile cannot actually increase or decrease the length of a
  199.   file, attempting to edit a zero-length file will cause an error message to be
  200.   displayed in the information line.
  201.           In this mode, clicking on the arrow keys has the same effect as
  202.   clicking on the gray area of the scroll bar, the display moves forward or
  203.   backward 128 bytes.
  204.  
  205.  
  206.   The Sector Editor:
  207.  
  208.           When you first choose this option, the bootsector of the drive your
  209.   system was started with is displayed. Also, some statistics about the disk in
  210.   that drive are shown at the very bottom of the window.
  211.           You can switch to a new sector on the disk by clicking on either of
  212.   the + or - buttons to change the sector one at-a-time, or by clicking on the
  213.   number of sectors itself to edit it. To switch to another disk drive, select
  214.   the "Drives..." button. A dialog containing the valid drives in boldface will
  215.   appear. Click on any of the active drives to begin editing sectors on that
  216.   disk. If MemFile encounters any problem when reading or writing a sector, it
  217.   will return you to the Memory editor.
  218.           The "Swap Disks" button forces the program to re-read the bootsector
  219.   of the active drive. This is useful when switching disks in a floppy drive.
  220.   If you do not use this function (or re-select the current drive from the
  221.   Drives menu) the program may try to access a sector on the disk which does
  222.   not exist, causing an error.
  223.           MemFile always tries to read the "boot sector" of the disk whenever a
  224.   new disk is inserted or a new drive is selected. If it cannot read the boot
  225.   sector, the program displays an error message and displays the Drives list
  226.   so you can either insert a disk whose boot sector is good, or switch to
  227.   another drive alltogether.
  228.           Here, the scroll bar can be used to move the display throughout a
  229.   given sector. 
  230.  
  231.  
  232.   Comments:
  233.  
  234.           Note that the scroll bar in File Editing mode only moves in increments
  235.   of 128 bytes. This is due to the the small buffer that MemFile uses. How else
  236.   do you think this thing can get away with only using 32k??
  237.           This program has been tested with disks of various tracks/side and
  238.   sectors/track with no visible problem, however using it to read sector sizes
  239.   larger than 512 bytes (not that there are many around) is not recommended,
  240.   since that would most certainly exceed the buffer and begin overwriting other
  241.   portions of the program.
  242.           The program has also been tested with Mega ST's, both with and
  243.   without the blitter turned-on. The speed increase is rather unnoticible, but
  244.   the program seems to work correctly with the new ROMs.
  245.           Error messages appear on the name bar at the top of the window and
  246.   are accompanied by a bell. They disappear after five seconds of inactivity.
  247.           For some reason, the memory locations between the highest RAM address
  248.   and 0x3FFFFF do weird things. If you try to edit the locations, some of the
  249.   bytes appear to change just by moving the cursor over them. This is because
  250.   MemFile is somehow fed conflicting information when displaying and beginning
  251.   the edit. Don't worry about it, you can't change these locations anyway and
  252.   they really are quite useless. They just sit there and look nice.
  253.           This program works only in medium and high resolution for obvious
  254.   reasons. Booting in low-rez will cause an error message to appear, however
  255.   even though the program does not run, it is still in memory just sitting
  256.   there doing nothing. Thought you might like to know where that memory is
  257.   disappearing to.
  258.           The Search feature can be rather slow. This is mostly because every
  259.   single byte in the area must be examined -- it took 1/2 hour to scan an
  260.   entire double-sided floppy. This really cannot be avoided, sorry.
  261.  
  262.  
  263.  
  264.         If you have any comments or suggestions please feel free to send
  265. them to either of the addresses below. A source listing is also available
  266. by sending a check or money order for $5 (can't get much cheaper) made
  267. out in my name, or free (!!) through the net.
  268.  
  269.                                 Gribnif@UMASS.Bitnet
  270.                                 Gribnif%UMASS.Bitnet@Forsythe.Stanford.EDU
  271.                                 
  272.                                 Dan Wilga
  273.                                 28 Chmura Rd
  274.                                 Hadley, MA  01035
  275.